1. Field of the Invention
The present invention relates to file players and graphics animation.
2. Background Art
Animation is increasingly popular in a variety of applications. No longer restricted to film, animation is now implemented in many digital forms and is found on the World Wide Web and in many multimedia applications. A variety of animation files and animation file players are available. Animation of varying length can be displayed on computers as stand-alone movies and video clips, or as part of web pages and in multimedia presentations. The complexity of an animation and the amount of graphics processing power required to generate the animation can vary widely depending upon a particular application.
One type of animation file player, currently in widespread use is the Flash® or Shockwave Flash® (SWF) animation file player, available from Adobe Systems, Incorporated (formerly Macromedia Inc.). SWF file players play a compiled form of Flash® animation files. For convenience, any such Flash® or Shockwave Flash® (SWF) animation file players are referred to herein as “SWF file players.” Associated files that can be played by SWF file players are referred to herein as “Flash® animation files” or simply “Flash® animation.” Flash® animation files were designed to hold relatively simple vector and bitmap animations in small file sizes. Accordingly, Flash® animation files have been used widely in web pages to provide simple animations, such as, rotating logos, walking figures, and dancing text. One common SWF file player is a desktop personal computer player typically installed as a Web Browser Plugin.
Graphics application programming interfaces (APIs) are now widely used by many computer graphics applications (such as, computer games, flight simulators, modeling applications, etc.) and support hardware acceleration of graphics rendering. Graphics APIs, such as, OpenGL® API available from SGI and DirectX API available from Microsoft Corp., are designed to run on personal computers or other computing devices with significant processing and display resources. Newer graphics APIs, such as, an OpenGL®|ES API, are now available that are designed to run on embedded systems having limited resources, such as a mobile telephone having a smaller display resolution, less memory, and less processing power than a personal desktop computer.
A SWF file player, however, is widely believed not to take advantage of any graphics hardware acceleration or graphics application programming interface API. Possible technical and business motivations not to use the graphics hardware acceleration or graphics APIs include: historical portability since typical desktop personal computers did not have reliable graphics support when the SWF file player was first developed, rendering accuracy, and a desire to maintain careful control over the behavior of the SWF player. At the same time, the lack of use of any hardware acceleration API has been noted and bemoaned by producers of Flash® animations and the consumers of Flash® animations.
Some specialized, alternative SWF file players have recently been released that use an OpenGL® API, a considerably larger, heavyweight graphics API than an OpenGL®|ES API. The full-blown OpenGL® API, however, cannot be easily implemented on a resource contrained embedded system, such as a mobile phone. Further, these alternative OpenGL®-based SWF players make use of features not found in the smaller, lightweight OpenGL®|ES graphics API, such as the begin( )/end( ) paradigm of geometric data specification, and the texgen method of automatically generating texture coordinates from vertex data, thereby making them incompatible with devices having an OPENGL|ES API. Often the motivation for these alternative players is to have a SWF player on a desktop computing platform not supported commercially by Macromedia. These alternative players have required the use of the OpenGL® graphics API both to accelerate the rendering process and also to ease the programming burden.